package com.xiaoshuidi.cloud.module.contract.dal.dataobject.contract;

import lombok.*;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import com.xiaoshuidi.cloud.framework.mybatis.core.dataobject.BaseDO;

/**
 * 合同签约主体 DO
 *
 * @author 合房租赁
 */
@TableName("contract_signing_subject")
@KeySequence("contract_signing_subject_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SigningSubjectDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 公司名称
     */
    private String companyName;
    /**
     * 营业执照号
     */
    private String companyIdCard;
    /**
     * 企业法人
     */
    private String legal;
    /**
     * 手机号码
     */
    private String phone;
    /**
     * 身份证id
     */
    private String idCard;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 生效状态 1已生效 2已驳回
     */
    private Integer status;
    /**
     * 线上签约开关  0关闭 1开启
     */
    private Boolean signSwitch;
    /**
     * 完成时间
     */
    private LocalDate activeTime;
    /**
     * 签章编码（企业账号法大大编号）
     */
    private String signatureCode;
    /**
     * 交易号（法大大平台）
     */
    private String transactionNo;
    /**
     * 企业认证状态
     * 0:未认证 1:管理员资料已提交 2:企业基本资料已提交 3:已提交待审核 4:审核通过认证完成 5:审核不通过 6:人工初审通过
     */
    private Integer authStatus;
    /**
     * 认证方式 0:银行卡认证 1:纸质审核认证 2:法人认证 4:法人授权认证
     */
    private Integer verifyType;
    /**
     * 组织类型 0:企业 1:政府/事业单位 2:其他组织 3:个体工商户
     */
    private Integer organizationType;
    /**
     * 自动签约授权状态 0未授权 1已申请 2授权成功 3授权失败
     */
    private Integer autoSignStatus;
    /**
     * 自动签约交易号
     */
    private String autoSignTransactionNo;
    /**
     * 自动签约委托书合同编号
     */
    private String autoSignContractNo;
    /**
     * 自动签约委托书合同预览url
     */
    private String viewPdfUrl;
    /**
     * 自动签约委托书合同下载url
     */
    private String downloadUrl;
    /**
     * 自动签约完成时间
     */
    private LocalDateTime autoSignActiveTime;
    /**
     * 自动签约结果描述
     */
    private String autoSignDesc;
    /**
     * 印章编码
     */
    private String sealCodeId;
}
